[INFO] cloning repository https://github.com/jzombie/rust-triplets
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jzombie/rust-triplets" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzombie%2Frust-triplets", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzombie%2Frust-triplets'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0c058aa4f2b989988d238a52b0221ae06fcae8ce
[INFO] testing jzombie/rust-triplets against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzombie%2Frust-triplets" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jzombie/rust-triplets
[INFO] finished tweaking git repo https://github.com/jzombie/rust-triplets
[INFO] tweaked toml for git repo https://github.com/jzombie/rust-triplets written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jzombie/rust-triplets on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jzombie/rust-triplets already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded utf8-zero v0.8.1
[INFO] [stderr]   Downloaded ordered-float v2.10.1
[INFO] [stderr]   Downloaded cached_proc_macro v0.25.0
[INFO] [stderr]   Downloaded bitcode_derive v0.6.9
[INFO] [stderr]   Downloaded simd-r-drive-entry-handle v0.16.0-alpha
[INFO] [stderr]   Downloaded flatbuffers v25.12.19
[INFO] [stderr]   Downloaded bm25 v2.3.2
[INFO] [stderr]   Downloaded lz4_flex v0.12.1
[INFO] [stderr]   Downloaded bitcode v0.6.9
[INFO] [stderr]   Downloaded arrow-buffer v58.0.0
[INFO] [stderr]   Downloaded cached v0.56.0
[INFO] [stderr]   Downloaded stop-words v0.9.0
[INFO] [stderr]   Downloaded arrow-select v58.0.0
[INFO] [stderr]   Downloaded zlib-rs v0.6.2
[INFO] [stderr]   Downloaded arrow-ipc v58.0.0
[INFO] [stderr]   Downloaded ureq v3.3.0
[INFO] [stderr]   Downloaded arrow-schema v58.0.0
[INFO] [stderr]   Downloaded simd-r-drive v0.16.0-alpha
[INFO] [stderr]   Downloaded arrow-data v58.0.0
[INFO] [stderr]   Downloaded arrow-array v58.0.0
[INFO] [stderr]   Downloaded cache-manager v0.4.0
[INFO] [stderr]   Downloaded thrift v0.17.0
[INFO] [stderr]   Downloaded line-ending v1.5.1
[INFO] [stderr]   Downloaded integer-encoding v3.0.4
[INFO] [stderr]   Downloaded ureq-proto v0.6.0
[INFO] [stderr]   Downloaded glam v0.31.0
[INFO] [stderr]   Downloaded parquet v58.0.0
[INFO] [stderr]   Downloaded rust-stemmers v1.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 67a0ed82e32ff0ad25d95baaf35478505339357083a7e297b8fec5660bb3517a
[INFO] running `Command { std: "docker" "start" "-a" "67a0ed82e32ff0ad25d95baaf35478505339357083a7e297b8fec5660bb3517a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67a0ed82e32ff0ad25d95baaf35478505339357083a7e297b8fec5660bb3517a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67a0ed82e32ff0ad25d95baaf35478505339357083a7e297b8fec5660bb3517a", kill_on_drop: false }`
[INFO] [stdout] 67a0ed82e32ff0ad25d95baaf35478505339357083a7e297b8fec5660bb3517a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c2474343a8ba691ab4d1e3cda9dfb92c2da45c497dc535e5b025c9c156c88737
[INFO] running `Command { std: "docker" "start" "-a" "c2474343a8ba691ab4d1e3cda9dfb92c2da45c497dc535e5b025c9c156c88737", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling line-ending v1.5.1
[INFO] [stderr]    Compiling simd-r-drive-entry-handle v0.16.0-alpha
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling cache-manager v0.4.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling bitcode_derive v0.6.9
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling bitcode v0.6.9
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling simd-r-drive v0.16.0-alpha
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling triplets v0.9.0-alpha (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.02s
[INFO] running `Command { std: "docker" "inspect" "c2474343a8ba691ab4d1e3cda9dfb92c2da45c497dc535e5b025c9c156c88737", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2474343a8ba691ab4d1e3cda9dfb92c2da45c497dc535e5b025c9c156c88737", kill_on_drop: false }`
[INFO] [stdout] c2474343a8ba691ab4d1e3cda9dfb92c2da45c497dc535e5b025c9c156c88737
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b69a1449430f4de36e58da309a41a85744627e0b6e30d227332b867807fd6710
[INFO] running `Command { std: "docker" "start" "-a" "b69a1449430f4de36e58da309a41a85744627e0b6e30d227332b867807fd6710", kill_on_drop: false }`
[INFO] [stderr]    Compiling triplets v0.9.0-alpha (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.59s
[INFO] running `Command { std: "docker" "inspect" "b69a1449430f4de36e58da309a41a85744627e0b6e30d227332b867807fd6710", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b69a1449430f4de36e58da309a41a85744627e0b6e30d227332b867807fd6710", kill_on_drop: false }`
[INFO] [stdout] b69a1449430f4de36e58da309a41a85744627e0b6e30d227332b867807fd6710
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c6af90ec0a312614cc2f88f2511d960a7a746d0a931f8d97470967dc53424753
[INFO] running `Command { std: "docker" "start" "-a" "c6af90ec0a312614cc2f88f2511d960a7a746d0a931f8d97470967dc53424753", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/triplets-521636cfcc2117be)
[INFO] [stdout] 
[INFO] [stdout] running 304 tests
[INFO] [stdout] test config::tests::sampler_config_defaults_are_expected ... ok
[INFO] [stdout] test config::tests::chunking_strategy_defaults_are_stable ... ok
[INFO] [stdout] test config::tests::triplet_recipe_default_is_expected ... ok
[INFO] [stdout] test config::tests::selector_variants_can_be_constructed ... ok
[INFO] [stdout] test data::tests::data_record_roundtrip_basics_are_constructible ... ok
[INFO] [stdout] test data::tests::quality_score_defaults_to_medium_trust ... ok
[INFO] [stdout] test epoch::tests::advances_epoch_after_full_pass ... ok
[INFO] [stdout] test epoch::tests::new_records_inserted_after_restart_are_not_skipped ... ok
[INFO] [stdout] test epoch::tests::interleaves_three_sources_with_oversampling ... ok
[INFO] [stdout] test example_apps::tests::helper_and_error_refresh_source_methods_are_exercised ... ok
[INFO] [stdout] test example_apps::tests::fixture_and_ingestion_sources_trait_methods_cover_paths ... ok
[INFO] [stdout] test example_apps::tests::parse_split_ratios_reports_per_field_parse_errors ... ok
[INFO] [stdout] test example_apps::tests::config_required_source_refresh_and_seed_mismatch_are_exercised ... ok
[INFO] [stdout] version_test 1.0.0
[INFO] [stdout] test epoch::tests::persists_offsets_across_restarts ... ok
[INFO] [stdout] Estimate record, pair, triplet, and text-sample capacity using source-reported counts only (no data refresh).
[INFO] [stdout] 
[INFO] [stdout] Usage: estimate_capacity [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --seed <SEED>
[INFO] [stdout]           Deterministic seed used for split allocation
[INFO] [stdout]           
[INFO] [stdout]           [default: 99]
[INFO] [stdout] 
[INFO] [stdout]       --split-ratios <TRAIN,VALIDATION,TEST>
[INFO] [stdout]           Comma-separated split ratios that must sum to 1.0
[INFO] [stdout]           
[INFO] [stdout]           [default: 0.8,0.1,0.1]
[INFO] [stdout] 
[INFO] [stdout]       --source-root <PATH>
[INFO] [stdout]           Optional source root override, repeat as needed in source order
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (see a summary with '-h')
[INFO] [stdout] 
[INFO] [stdout] Source roots are optional and resolved in order by explicit arg, environment variables, then project defaults.
[INFO] [stdout] test example_apps::tests::print_summary_helpers_accept_empty_iterators ... ok
[INFO] [stdout] test epoch::tests::interleaved_oversampling_works ... ok
[INFO] [stdout] test example_apps::tests::run_estimate_capacity_errors_when_source_count_missing ... ok
[INFO] [stdout] test example_apps::tests::parse_cli_handles_display_version_path ... ok
[INFO] [stdout] test example_apps::tests::run_estimate_capacity_propagates_root_resolution_error ... ok
[INFO] [stdout] test example_apps::tests::parse_cli_handles_help_and_invalid_args ... ok
[INFO] [stdout] Sample triplet, pair, or text batches from multiple sources and persist split/epoch state.
[INFO] [stdout] 
[INFO] [stdout] Usage: multi_source_demo [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --text-recipes
[INFO] [stdout]           Emit a text batch instead of a triplet batch
[INFO] [stdout] 
[INFO] [stdout]       --pair-batch
[INFO] [stdout]           Emit a pair batch instead of a triplet batch
[INFO] [stdout] 
[INFO] [stdout]       --list-text-recipes
[INFO] [stdout]           Print registered text recipes and exit
[INFO] [stdout] 
[INFO] [stdout]       --batch-size <BATCH_SIZE>
[INFO] [stdout]           Batch size used for sampling
[INFO] [stdout]           
[INFO] [stdout]           [default: 4]
[INFO] [stdout] 
[INFO] [stdout]       --ingestion-max-records <INGESTION_MAX_RECORDS>
[INFO] [stdout]           Per-source ingestion buffer target used while refreshing records
[INFO] [stdout]           
[INFO] [stdout]           [default: 2048]
[INFO] [stdout] 
[INFO] [stdout]       --seed <SEED>
[INFO] [stdout]           Optional deterministic seed override
[INFO] [stdout] 
[INFO] [stdout]       --split <SPLIT>
[INFO] [stdout]           Target split to sample from
[INFO] [stdout]           
[INFO] [stdout]           [possible values: train, validation, test]
[INFO] [stdout] 
[INFO] [stdout]       --source-root <PATH>
[INFO] [stdout]           Optional source root override, repeat as needed in source order
[INFO] [stdout] 
[INFO] [stdout]       --split-store-path <SPLIT_STORE_PATH>
[INFO] [stdout]           Optional explicit path for persisted split/epoch state file
[INFO] [stdout] 
[INFO] [stdout]       --reset
[INFO] [stdout]           Delete the persisted split/epoch state before sampling, restarting from epoch 0
[INFO] [stdout] 
[INFO] [stdout]       --batches <N>
[INFO] [stdout]           Run N triplet batches in succession, printing a timing line per batch and (with --features extended-metrics) a per-source similarity summary at the end
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (see a summary with '-h')
[INFO] [stdout] 
[INFO] [stdout] Source roots are optional and resolved in order by explicit arg, environment variables, then project defaults.
[INFO] [stdout] Estimate record, pair, triplet, and text-sample capacity using source-reported counts only (no data refresh).
[INFO] [stdout] 
[INFO] [stdout] Usage: estimate_capacity [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --seed <SEED>
[INFO] [stdout]           Deterministic seed used for split allocation
[INFO] [stdout]           
[INFO] [stdout]           [default: 99]
[INFO] [stdout] 
[INFO] [stdout]       --split-ratios <TRAIN,VALIDATION,TEST>
[INFO] [stdout]           Comma-separated split ratios that must sum to 1.0
[INFO] [stdout]           
[INFO] [stdout]           [default: 0.8,0.1,0.1]
[INFO] [stdout] 
[INFO] [stdout]       --source-root <PATH>
[INFO] [stdout]           Optional source root override, repeat as needed in source order
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (see a summary with '-h')
[INFO] [stdout] 
[INFO] [stdout] Source roots are optional and resolved in order by explicit arg, environment variables, then project defaults.
[INFO] [stdout] test example_apps::tests::run_estimate_capacity_succeeds_with_reported_counts ... ok
[INFO] [stdout] test example_apps::tests::run_example_apps_invalid_cli_args_return_errors ... ok
[INFO] [stdout] test example_apps::tests::print_source_summary_handles_non_empty_ids ... ok
[INFO] [stdout] test example_apps::tests::run_estimate_capacity_configures_sources_centrally_before_counting ... ok
[INFO] [stdout] test example_apps::tests::parse_helpers_validate_inputs ... ok
[INFO] [stdout] test epoch::tests::reconcile_prunes_non_target_split_state ... ok
[INFO] [stdout] test example_apps::tests::parse_multi_source_cli_handles_help_and_batch_size_validation ... ok
[INFO] [stdout] test example_apps::tests::run_estimate_capacity_help_returns_ok_without_work ... ok
[INFO] [stdout] test example_apps::tests::run_estimate_capacity_allows_empty_source_list ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_list_text_recipes_path_succeeds ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_list_text_recipes_allows_empty_sources ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_propagates_root_resolution_error ... ok
[INFO] [stdout] Sample triplet, pair, or text batches from multiple sources and persist split/epoch state.
[INFO] [stdout] 
[INFO] [stdout] Usage: multi_source_demo [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --text-recipes
[INFO] [stdout]           Emit a text batch instead of a triplet batch
[INFO] [stdout] 
[INFO] [stdout]       --pair-batch
[INFO] [stdout]           Emit a pair batch instead of a triplet batch
[INFO] [stdout] 
[INFO] [stdout]       --list-text-recipes
[INFO] [stdout]           Print registered text recipes and exit
[INFO] [stdout] 
[INFO] [stdout]       --batch-size <BATCH_SIZE>
[INFO] [stdout]           Batch size used for sampling
[INFO] [stdout]           
[INFO] [stdout]           [default: 4]
[INFO] [stdout] 
[INFO] [stdout]       --ingestion-max-records <INGESTION_MAX_RECORDS>
[INFO] [stdout]           Per-source ingestion buffer target used while refreshing records
[INFO] [stdout]           
[INFO] [stdout]           [default: 2048]
[INFO] [stdout] 
[INFO] [stdout]       --seed <SEED>
[INFO] [stdout]           Optional deterministic seed override
[INFO] [stdout] 
[INFO] [stdout]       --split <SPLIT>
[INFO] [stdout]           Target split to sample from
[INFO] [stdout]           
[INFO] [stdout]           [possible values: train, validation, test]
[INFO] [stdout] 
[INFO] [stdout]       --source-root <PATH>
[INFO] [stdout]           Optional source root override, repeat as needed in source order
[INFO] [stdout] 
[INFO] [stdout]       --split-store-path <SPLIT_STORE_PATH>
[INFO] [stdout]           Optional explicit path for persisted split/epoch state file
[INFO] [stdout] 
[INFO] [stdout]       --reset
[INFO] [stdout]           Delete the persisted split/epoch state before sampling, restarting from epoch 0
[INFO] [stdout] 
[INFO] [stdout]       --batches <N>
[INFO] [stdout]           Run N triplet batches in succession, printing a timing line per batch and (with --features extended-metrics) a per-source similarity summary at the end
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (see a summary with '-h')
[INFO] [stdout] 
[INFO] [stdout] Source roots are optional and resolved in order by explicit arg, environment variables, then project defaults.
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_reset_errors_when_target_is_directory ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_list_text_recipes_uses_explicit_split_store_path ... ok
[INFO] [stdout] test example_apps::tests::print_helpers_and_extract_source_cover_paths ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_default_triplet_success_path_returns_ok ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_reset_recreates_split_store_and_samples ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_batches_mode_executes_multiple_batches ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_passes_ingestion_max_records_to_sources ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_batches_exhausted_path_returns_ok ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_exhausted_paths_return_ok ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_pair_exhausted_branch_returns_ok ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_help_returns_ok_without_work ... ok
[INFO] [stdout] test data::tests::batch_is_empty_helpers_match_contents ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_sampling_modes_handle_empty_sources ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_exhausted_paths_are_handled ... ok
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_refresh_failures_degrade_to_exhausted_paths ... ok
[INFO] [stdout] test example_apps::tests::split_arg_conversion_and_version_parse_paths_are_covered ... ok
[INFO] [stdout] test example_apps::tests::suggested_balancing_weight_is_longest_normalized_and_bounded ... ok
[INFO] [stdout] test heuristics::tests::estimate_capacity_handles_zero_and_nonzero_inputs ... ok
[INFO] [stdout] test heuristics::tests::formatting_helpers_are_stable ... ok
[INFO] [stdout] test heuristics::tests::resolve_text_recipes_prefers_config_then_derived ... ok
[INFO] [stdout] test heuristics::tests::split_counts_sum_to_total ... ok
[INFO] [stdout] test example_apps::tests::suggested_oversampling_weight_is_inverse_in_unit_interval ... ok
[INFO] [stdout] test ingestion::tests::force_refresh_all_with_weights_rejects_unknown_source ... ok
[INFO] [stdout] test ingestion::tests::record_cache_zero_limit_discards_everything ... ok
[INFO] [stdout] test ingestion::tests::manager_loads_and_snapshots_cursors_and_reports_has_sources ... ok
[INFO] [stdout] test ingestion::tests::advance_with_weights_rejects_unknown_source ... ok
[INFO] [stdout] test ingestion::tests::force_refresh_with_weights_path_is_exercised ... ok
[INFO] [stdout] test ingestion::tests::refresh_all_with_weights_rejects_negative_weight ... ok
[INFO] [stdout] test ingestion::tests::scripted_and_panic_sources_cover_default_trait_paths ... ok
[INFO] [stdout] test ingestion::tests::seed_capturing_source_trait_defaults_are_exercised ... ok
[INFO] [stdout] test ingestion::tests::source_epoch_xor_changes_seed_received_by_source ... ok
[INFO] [stdout] test ingestion::tests::refresh_paths_handle_zero_capacity_and_no_sources ... ok
[INFO] [stdout] test ingestion::tests::advance_uses_buffer_before_refreshing_again ... ok
[INFO] [stdout] test ingestion::tests::force_refresh_clears_buffer_and_fetches_again ... ok
[INFO] [stdout] test ingestion::tests::weighted_drain_respects_zero_and_fallback_weights ... ok
[INFO] [stdout] test kvp::tests::chooses_between_variants ... ok
[INFO] [stdout] test kvp::tests::field_value_options_are_deduped_and_randomized ... ok
[INFO] [stdout] test kvp::tests::field_presence_controls_dropout ... ok
[INFO] [stdout] test kvp::tests::kvp_sampler_fractional_dropout_sometimes_suppresses_output ... ok
[INFO] [stdout] test kvp::tests::sampler_can_shuffle_field_order ... ok
[INFO] [stdout] test kvp::tests::meta_policy_instantiates_sampler_with_context_values ... ok
[INFO] [stdout] test kvp::tests::respects_dropout_probability ... ok
[INFO] [stdout] test kvp::tests::ignores_empty_variants ... ok
[INFO] [stdout] test metadata::tests::date_meta_values_are_deduped_and_include_expected_formats ... ok
[INFO] [stdout] test kvp::tests::sampler_and_field_probabilities_are_clamped ... ok
[INFO] [stdout] test kvp::tests::variant_with_only_absent_fields_returns_none ... ok
[INFO] [stdout] test kvp::tests::meta_field_spec_new_is_callable_at_runtime ... ok
[INFO] [stdout] test kvp::tests::sampler_handles_multi_value_fields ... ok
[INFO] [stdout] test ingestion::tests::record_cache_waits_len_and_clear_paths_are_covered ... ok
[INFO] [stdout] test example_apps::tests::managed_demo_split_store_path_resolves_under_cache_group ... FAILED
[INFO] [stdout] test example_apps::tests::run_multi_source_demo_uses_managed_split_store_path_when_not_provided ... FAILED
[INFO] [stdout] test metadata::tests::metadata_key_encodes_and_strips_values ... ok
[INFO] [stdout] test metadata::tests::metadata_key_new_and_as_str_work ... ok
[INFO] [stdout] test metrics::tests::chunk_proximity_score_is_neutral_when_not_comparable ... ok
[INFO] [stdout] test metrics::tests::chunk_proximity_score_inverts_distance ... ok
[INFO] [stdout] test metrics::tests::source_skew_reports_balance ... ok
[INFO] [stdout] test metrics::tests::source_skew_zero_totals_report_zero_shares_and_infinite_ratio ... ok
[INFO] [stdout] test metrics::tests::source_skew_returns_none_for_empty_counts ... ok
[INFO] [stdout] test metrics::tests::window_chunk_distance_uses_index_delta ... ok
[INFO] [stdout] test metrics::tests::window_index_proximity_scores_drop_with_index ... ok
[INFO] [stdout] test sampler::backends::default_backend::tests::default_backend_returns_none_for_empty_pool ... ok
[INFO] [stdout] test sampler::backends::default_backend::tests::default_backend_noop_methods_and_test_hooks_are_stable ... ok
[INFO] [stdout] test sampler::backends::default_backend::tests::default_backend_selects_from_pool_and_preserves_fallback_flag ... ok
[INFO] [stdout] test sampler::tests::auto_chunk_pair_triplet_weight_uses_proximity_inside_chunk_weight ... ok
[INFO] [stdout] test sampler::tests::batch_prefetcher_reports_stopped_when_receiver_missing ... ok
[INFO] [stdout] test sampler::tests::adds_dynamic_chunk_pair_recipe_even_with_global_config_recipes ... ok
[INFO] [stdout] test sampler::tests::adds_dynamic_chunk_pair_recipe_for_long_section_sources ... ok
[INFO] [stdout] test metrics::tests::source_skew_reports_imbalance ... ok
[INFO] [stdout] test metrics::tests::chunk_distance_relevance_score_alias_matches_proximity ... ok
[INFO] [stdout] test sampler::tests::auto_injected_recipe_uses_distinct_context_chunks_for_anchor_and_positive ... ok
[INFO] [stdout] test sampler::tests::chunk_view_carries_window_index ... ok
[INFO] [stdout] test sampler::tests::chunk_weight_applies_trust_scaling ... ok
[INFO] [stdout] test sampler::tests::chunk_windows_follow_stride_for_large_sections ... ok
[INFO] [stdout] test sampler::tests::chunk_weight_windows_use_trust_and_floor ... ok
[INFO] [stdout] test sampler::tests::decorate_chunk_preserves_newline_after_meta_when_truncated ... ok
[INFO] [stdout] test sampler::tests::chunk_windows_materialize_all_configured_overlaps ... ok
[INFO] [stdout] test sampler::tests::disallowed_split_returns_configuration_error ... ok
[INFO] [stdout] test sampler::tests::empty_recipe_configs_error_when_sampling_without_sources ... ok
[INFO] [stdout] test sampler::tests::decorate_chunk_truncates_and_updates_tokens_estimate ... ok
[INFO] [stdout] test sampler::tests::does_not_add_dynamic_chunk_pair_recipe_when_all_sections_fit_window ... ok
[INFO] [stdout] test sampler::tests::deterministic_rng_state_roundtrip_and_fill_bytes_are_stable ... ok
[INFO] [stdout] test sampler::tests::end_to_end_text_weighting_respects_splits ... ok
[INFO] [stdout] test sampler::tests::chunk_sampling_respects_split_boundaries ... ok
[INFO] [stdout] test sampler::tests::derives_text_recipes_from_triplets ... ok
[INFO] [stdout] test sampler::tests::allow_same_anchor_positive_permits_identical_text_triplet ... ok
[INFO] [stdout] test sampler::tests::auto_injected_recipe_uses_window_chunks_for_anchor_and_positive ... ok
[INFO] [stdout] test sampler::tests::end_to_end_text_weighting_uses_chunk_offsets ... ok
[INFO] [stdout] test sampler::tests::failed_source_is_retried_on_next_batch_call ... ok
[INFO] [stdout] test sampler::tests::exhaustion_retry_limit_returns_exhausted ... ok
[INFO] [stdout] test sampler::tests::cycles_through_section_windows_before_repeating ... ok
[INFO] [stdout] test sampler::tests::first_role_section_offset_is_deterministic_and_nonzero_when_hash_demands_it ... ok
[INFO] [stdout] test sampler::tests::first_chunk_offset_is_deterministic_and_nonzero_when_hash_demands_it ... ok
[INFO] [stdout] test sampler::tests::auto_injected_recipe_keeps_all_components_in_requested_split ... ok
[INFO] [stdout] test sampler::tests::auto_injected_recipe_never_uses_identical_anchor_and_positive_chunks ... ok
[INFO] [stdout] test sampler::tests::epoch_sampling_handles_new_records_after_restart ... ok
[INFO] [stdout] test ingestion::tests::refresh_errors_and_panics_update_source_stats ... ok
[INFO] [stdout] test sampler::tests::epoch_sampling_visits_each_record_before_repeat ... ok
[INFO] [stdout] test sampler::tests::instruction_propagates_from_recipe_to_sample_triplet ... ok
[INFO] [stdout] test sampler::tests::kvp_date_formats_can_differ_between_anchor_and_positive_across_all_splits ... ok
[INFO] [stdout] test sampler::tests::different_epochs_produce_different_record_orderings ... ok
[INFO] [stdout] test sampler::tests::batch_prefetcher_reports_stopped_when_worker_panics ... ok
[INFO] [stdout] test sampler::tests::epoch_sampling_persists_between_runs ... ok
[INFO] [stdout] test sampler::tests::non_auto_triplet_negative_weight_uses_trust_only ... ok
[INFO] [stdout] test sampler::tests::non_auto_triplet_weight_applies_anchor_positive_proximity ... ok
[INFO] [stdout] test sampler::tests::non_adjacent_auto_window_pair_proximity_is_not_half ... ok
[INFO] [stdout] test sampler::tests::next_chunk_from_pool_returns_none_for_empty_pool ... ok
[INFO] [stdout] test sampler::tests::kvp_date_formats_can_differ_within_same_triplet_across_all_splits ... ok
[INFO] [stdout] test sampler::tests::negative_selection_never_falls_back_across_splits ... ok
[INFO] [stdout] test sampler::tests::generates_pairs_from_single_source ... ok
[INFO] [stdout] test sampler::tests::kvp_prefix_signatures_are_not_constant_across_triplets_with_all_splits ... ok
[INFO] [stdout] test sampler::tests::non_auto_triplet_weight_tracks_positive_window_index ... ok
[INFO] [stdout] test sampler::tests::kvp_prefix_is_applied_to_non_initial_windows_from_long_sections ... ok
[INFO] [stdout] test sampler::tests::pair_batch_is_padded_to_batch_size_when_unique_pool_is_small ... ok
[INFO] [stdout] test sampler::tests::prefetch_pair_batches_with_weights_match_direct ... ok
[INFO] [stdout] test sampler::tests::prefetch_public_apis_produce_batches_and_stats ... ok
[INFO] [stdout] test sampler::tests::prefetcher_tracks_errors ... ok
[INFO] [stdout] test sampler::tests::produces_text_samples ... ok
[INFO] [stdout] test sampler::tests::qa_mismatch_falls_back_within_same_split ... ok
[INFO] [stdout] test sampler::tests::readable_triplet_examples_by_mode ... ok
[INFO] [stdout] test sampler::tests::oversampling_advances_cursors_on_large_records ... ok
[INFO] [stdout] test sampler::tests::qa_negative_pairs_mismatch ... ok
[INFO] [stdout] test sampler::tests::recipe_order_cycled_and_text_recipe_order_cycled_return_empty_for_zero_count ... ok
[INFO] [stdout] test sampler::tests::recipe_order_helpers_cover_empty_and_rotated_cases ... ok
[INFO] [stdout] test sampler::tests::full_sequence_hashes_match_for_prefetch_text_batches ... ok
[INFO] [stdout] test sampler::tests::prefetch_triplet_batches_preserve_split_order ... ok
[INFO] [stdout] test sampler::tests::prefetch_pair_batches_preserve_split_order ... ok
[INFO] [stdout] test sampler::tests::prefetch_weighted_public_apis_produce_batches ... ok
[INFO] [stdout] test sampler::tests::prefetch_text_batches_with_weights_match_direct ... ok
[INFO] [stdout] test sampler::tests::record_has_long_section_returns_false_when_window_tokens_are_disabled ... ok
[INFO] [stdout] test sampler::tests::reentry_after_epoch_change_can_restart_from_different_chunk_offset ... ok
[INFO] [stdout] test sampler::tests::reentry_same_epoch_restarts_from_same_chunk_offset ... ok
[INFO] [stdout] test sampler::tests::role_reentry_after_epoch_change_can_restart_from_different_section_offset ... ok
[INFO] [stdout] test sampler::tests::role_helpers_and_taxonomy_value_cover_branches ... ok
[INFO] [stdout] test sampler::tests::records_by_split_and_anchor_selection_cover_edge_cases ... ok
[INFO] [stdout] test sampler::tests::refresh_limit_caps_records_per_source ... ok
[INFO] [stdout] test sampler::tests::sampler_trait_default_methods_delegate_to_weighted_variants ... ok
[INFO] [stdout] test sampler::tests::fallback_triplet_negative_never_matches_anchor ... ok
[INFO] [stdout] test sampler::tests::select_chunk_random_handles_empty_and_non_empty_sections ... ok
[INFO] [stdout] test sampler::tests::selector_edge_cases_cover_internal_branches ... ok
[INFO] [stdout] test sampler::tests::role_reentry_same_epoch_restarts_from_same_section_offset ... ok
[INFO] [stdout] test sampler::tests::same_selector_triplet_returns_none_when_only_one_chunk_exists ... ok
[INFO] [stdout] test sampler::tests::full_sequence_hashes_match_for_triplet_batches ... ok
[INFO] [stdout] test sampler::tests::single_source_failure_does_not_fail_batch_when_other_source_has_data ... ok
[INFO] [stdout] test sampler::tests::prefetch_triplet_batches_with_weights_match_direct ... ok
[INFO] [stdout] test sampler::tests::source_less_batch_builders_sample_from_primed_epoch_tracker ... ok
[INFO] [stdout] test sampler::tests::source_a_negative_pairs_follow_strategy ... ok
[INFO] [stdout] test sampler::tests::source_triplets_drive_text_sampling ... ok
[INFO] [stdout] test sampler::tests::source_less_batch_builders_report_last_recipe_when_sampling_exhausts ... ok
[INFO] [stdout] test sampler::tests::source_state_and_recipe_helpers_cover_remaining_branches ... ok
[INFO] [stdout] test sampler::tests::source_defined_recipes_fill_config_gap ... ok
[INFO] [stdout] test sampler::tests::split_specific_batch_apis_reject_disallowed_splits ... ok
[INFO] [stdout] test sampler::tests::source_recipes_drive_text_sampling ... ok
[INFO] [stdout] test sampler::tests::summary_fallback_weight_is_clamped ... ok
[INFO] [stdout] test sampler::tests::temporal_neighbor_auto_pair_and_weighted_retry_paths_are_covered ... ok
[INFO] [stdout] test sampler::tests::temporal_offset_selector_finds_nearest_chronological_neighbor ... ok
[INFO] [stdout] test sampler::tests::prefetch_text_batches_preserve_split_order ... ok
[INFO] [stdout] test sampler::tests::strategy_reason_and_chunk_key_cover_all_variants ... ok
[INFO] [stdout] test sampler::tests::split_order_differs_with_seed ... ok
[INFO] [stdout] test sampler::tests::sampler_allows_concurrent_batch_requests ... ok
[INFO] [stdout] test sampler::tests::split_specific_triplet_api_keeps_anchor_positive_negative_in_same_split ... ok
[INFO] [stdout] test sampler::tests::resumed_sampler_uses_persisted_epoch_seed ... ok
[INFO] [stdout] test sampler::tests::temporal_offset_selector_never_crosses_split_boundaries ... ok
[INFO] [stdout] test sampler::tests::text_batch_dedupes_identical_chunks ... ok
[INFO] [stdout] test sampler::tests::source_epoch_is_propagated_to_ingestion_on_resume ... ok
[INFO] [stdout] test sampler::tests::split_order_is_train_val_test_for_triplet_batches ... ok
[INFO] [stdout] test sampler::tests::text_batch_is_padded_to_batch_size_when_unique_pool_is_small ... ok
[INFO] [stdout] test sampler::tests::triplet_batch_dedupes_identical_triplets ... ok
[INFO] [stdout] test sampler::tests::triplet_batch_is_padded_to_batch_size_when_unique_pool_is_small ... ok
[INFO] [stdout] test sampler::tests::text_sampling_cycles_recipes_over_time ... ok
[INFO] [stdout] test sampler::tests::text_sampling_balances_sources_without_epoch_tracker ... ok
[INFO] [stdout] test sampler::tests::split_specific_batch_apis_return_exact_size_and_requested_split_only ... ok
[INFO] [stdout] test sampler::tests::triplet_weight_averages_chunk_weights ... ok
[INFO] [stdout] test sampler::tests::triplet_rejects_negative_with_duplicate_text_content ... ok
[INFO] [stdout] test sampler::tests::full_sequence_hashes_match_for_prefetch_triplet_batches ... ok
[INFO] [stdout] test sampler::tests::triplet_sampling_produces_anchor_positive_and_negative ... ok
[INFO] [stdout] test sampler::tests::triplet_sampling_cycles_recipes_over_time ... ok
[INFO] [stdout] test sampler::tests::split_order_is_train_val_test_for_text_batches ... ok
[INFO] [stdout] test sampler::tests::text_pair_and_triplet_chunks_all_come_from_materialize_pool ... ok
[INFO] [stdout] test sampler::tests::wrong_publication_date_covers_none_some_and_none_none_branches ... ok
[INFO] [stdout] test sampler::tests::triplets_cover_kvp_behaviors_across_all_splits ... ok
[INFO] [stdout] test sampler::tests::wrong_publication_date_covers_some_none_branch_with_undated_candidates ... ok
[INFO] [stdout] test sampler::tests::wrong_article_falls_back_within_same_split ... ok
[INFO] [stdout] test sampler::tests::wrong_publication_date_falls_back_within_same_split ... ok
[INFO] [stdout] test source::backends::file_source::tests::file_source_config_can_enable_date_aware_default_recipe ... ok
[INFO] [stdout] test sampler::tests::full_sequence_hashes_match_for_prefetch_pair_batches ... ok
[INFO] [stdout] test source::indexing::date_helpers::tests::parses_publication_date_from_folder_formats ... ok
[INFO] [stdout] test source::backends::file_source::tests::file_source_config_override_replaces_default_triplet_recipes ... ok
[INFO] [stdout] test source::backends::file_source::tests::file_source_config_new_has_explicit_default_triplet_recipes ... ok
[INFO] [stdout] test source::backends::file_source::tests::taxonomy_from_path_handles_nested_and_non_descendant_paths ... ok
[INFO] [stdout] test source::indexing::date_helpers::tests::parses_publication_date_from_year_folder_formats ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::builder_options_and_seed_requirements_are_enforced ... ok
[INFO] [stdout] test source::backends::file_source::tests::refresh_skips_non_txt_files_even_when_text_only_disabled ... ok
[INFO] [stdout] test sampler::tests::split_order_is_train_val_test_for_pair_batches ... ok
[INFO] [stdout] test source::indexing::date_helpers::tests::parses_publication_date_from_month_range_folder ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_index_root_dir_ignores_snapshot_store_filename ... ok
[INFO] [stdout] test sampler::tests::full_sequence_hashes_match_for_pair_batches ... ok
[INFO] [stdout] test source::backends::file_source::tests::reads_records_without_default_source_id ... ok
[INFO] [stdout] test source::backends::file_source::tests::supports_custom_sections_and_default_recipes ... ok
[INFO] [stdout] test source::backends::file_source::tests::title_replace_underscores_toggle_changes_anchor_title_text ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_index_store_path_isolated_per_source ... ok
[INFO] [stdout] test source::backends::file_source::tests::trust_falls_back_to_default_and_count_and_id_are_exposed ... ok
[INFO] [stdout] test source::backends::file_source::tests::anchor_context_sections_build_expected_roles_and_text ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_corpus_skips_unreadable_records ... ok
[INFO] [stdout] test sampler::tests::full_sequence_hashes_match_for_text_batches ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_corpus_grouping_changes_pool_when_limited ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_index_store_size_within_path_budget ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_corpus_grouped_refresh_caps_dominant_directory ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_corpus_grouped_refresh_cap_is_deterministic ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::filesystem_indexable_spans_multiple_regimes ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::file_corpus_groups_by_date_directory ... ok
[INFO] [stdout] test source::backends::file_source::tests::sampler_seed_controls_file_source_refresh_order ... ok
[INFO] [stdout] test source::indexing::file_stream::tests::stream_incremental_empty_directory_keeps_zero_cursor ... ok
[INFO] [stdout] test source::backends::file_source::tests::applies_category_trust_overrides ... ok
[INFO] [stdout] test source::indexing::file_stream::tests::stream_pages_follow_pseudorandom_order ... ok
[INFO] [stdout] test source::indexing::grouping::tests::deterministic_grouped_order_is_deterministic ... ok
[INFO] [stdout] test source::tests::index_permutation_next_stays_within_total_and_cursor_advances ... ok
[INFO] [stdout] test source::tests::indexable_adapter_reported_count_errors_when_len_hint_missing ... ok
[INFO] [stdout] test source::indexing::file_stream::tests::stream_with_follow_symlinks_builder_is_exercised ... ok
[INFO] [stdout] test source::indexing::file_stream::tests::text_file_detection_and_shuffle_key_are_stable ... ok
[INFO] [stdout] test source::indexing::grouping::tests::deterministic_grouped_order_caps_per_group_per_window ... ok
[INFO] [stdout] test source::tests::indexable_adapter_pages_in_stable_order ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::title_and_record_id_helpers_cover_error_paths ... ok
[INFO] [stdout] test source::indexing::file_stream::tests::stream_incremental_handles_limits_none_records_and_cursor_reset ... ok
[INFO] [stdout] test source::tests::indexable_pager_errors_when_len_hint_missing ... ok
[INFO] [stdout] test source::indexing::grouping::tests::deterministic_grouped_order_returns_permutation ... ok
[INFO] [stdout] test source::indexing::grouping::tests::deterministic_grouped_order_window_size_one_is_identity ... ok
[INFO] [stdout] test source::indexing::grouping::tests::per_group_refresh_cap_uses_ceiling_division ... ok
[INFO] [stdout] test source::tests::in_memory_source_refresh_wraps_cursor_and_uses_latest_timestamp ... ok
[INFO] [stdout] test source::tests::index_permutation_permute_bits_handles_zero_bits_and_zero_seed_path ... ok
[INFO] [stdout] test source::tests::seed_for_sampler_depends_on_sampler_seed ... ok
[INFO] [stdout] test source::tests::source_ids_and_reported_counts_are_exposed ... ok
[INFO] [stdout] test source::tests::indexable_pager_large_refresh_triggers_reporting_branch_and_wraps_cursor ... ok
[INFO] [stdout] test source::tests::indexable_pager_refresh_with_propagates_fetch_error ... ok
[INFO] [stdout] test source::tests::indexable_pager_refresh_with_zero_total_returns_empty_snapshot ... ok
[INFO] [stdout] test source::tests::indexable_paging_spans_multiple_regimes ... ok
[INFO] [stdout] test splits::tests::bitcode_payload_requires_prefix ... ok
[INFO] [stdout] test splits::tests::deterministic_store_trait_methods_work ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::read_index_meta_mismatch_and_decode_errors_return_none_or_error ... ok
[INFO] [stdout] test splits::tests::epoch_and_sampler_decoders_cover_tombstone_and_version_mismatch ... ok
[INFO] [stdout] test splits::tests::encode_decode_store_meta_roundtrip_and_corrupt_prefix_error ... ok
[INFO] [stdout] test splits::tests::ensure_parent_dir_allows_plain_file_names ... ok
[INFO] [stdout] test splits::tests::file_store_accepts_directory_path ... ok
[INFO] [stdout] test splits::tests::epoch_and_sampler_encode_decode_roundtrips ... ok
[INFO] [stdout] test splits::tests::file_store_label_fallback_and_validation_keys_are_covered ... ok
[INFO] [stdout] test splits::tests::load_path_source_is_never_modified_while_open ... ok
[INFO] [stdout] test splits::tests::split_decode_helpers_reject_corrupt_bitcode_payloads ... ok
[INFO] [stdout] test splits::tests::save_none_on_bootstrapped_store_publishes_to_save_path ... ok
[INFO] [stdout] test splits::tests::split_keys_and_labels_cover_helper_paths ... ok
[INFO] [stdout] test splits::tests::zero_test_ratio_never_assigns_test_labels ... ok
[INFO] [stdout] test splits::tests::split_ratios_reject_non_unit_sum ... ok
[INFO] [stdout] test splits::tests::save_none_publishes_to_save_path_and_reloads_cleanly ... ok
[INFO] [stdout] test splits::tests::split_store_trait_methods_and_path_helpers_are_exercised ... ok
[INFO] [stdout] test source::indexing::file_corpus::tests::read_index_batch_handles_missing_entries_and_skippable_errors ... ok
[INFO] [stdout] test utils::tests::normalize_inline_whitespace_collapses_runs ... ok
[INFO] [stdout] test splits::tests::file_store_metadata_mismatch_and_debug_paths_are_covered ... ok
[INFO] [stdout] test utils::tests::is_text_file_matches_txt_case_insensitively ... ok
[INFO] [stdout] test utils::tests::sentences_falls_back_to_full_text_when_needed ... ok
[INFO] [stdout] test utils::tests::make_section_populates_sentences ... ok
[INFO] [stdout] test utils::tests::file_time_helpers_handle_existing_and_missing_paths ... ok
[INFO] [stdout] test utils::tests::sentences_keep_decimal_values_together ... ok
[INFO] [stdout] test utils::tests::sentences_keep_dot_tickers_together ... ok
[INFO] [stdout] test splits::tests::open_with_load_path_bootstraps_state_explicitly ... ok
[INFO] [stdout] test utils::tests::sentences_keep_ellipsis_together ... ok
[INFO] [stdout] test utils::tests::sentences_treat_blank_line_as_boundary ... ok
[INFO] [stdout] test splits::tests::file_store_round_trips_epoch_and_sampler_state ... ok
[INFO] [stdout] test splits::tests::file_store_rejects_seed_mismatch ... ok
[INFO] [stdout] test splits::tests::repeated_save_none_on_bootstrapped_store_is_idempotent ... ok
[INFO] [stdout] test splits::tests::save_some_on_regular_open_does_not_modify_working_store ... ok
[INFO] [stdout] test sampler::tests::triplets_never_cross_split_boundaries ... ok
[INFO] [stdout] test splits::tests::save_sampler_state_to_new_path_copies_existing_store_first ... ok
[INFO] [stdout] test splits::tests::save_some_on_bootstrapped_store_publishes_to_explicit_path_only ... ok
[INFO] [stdout] test source::tests::indexable_pager_reporting_branch_emits_progress_when_refresh_is_slow ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- example_apps::tests::managed_demo_split_store_path_resolves_under_cache_group stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'example_apps::tests::managed_demo_split_store_path_resolves_under_cache_group' (33) panicked at src/example_apps.rs:2455:52:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: "failed creating managed demo cache group 'triplets/multi-source-demo': Read-only file system (os error 30)"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b20cf01477a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b20cf01477a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b20cf01477a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b20cf01477a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b20cf02d0da - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b20cf02d0da - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b20cf01a022 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b20cf01a022 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b20cefefadf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b20cefefadf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b20cf00adc9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b20cedfad6c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b20cedfad6c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b20cf00b042 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b20cf00b042 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b20cefefb98 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b20cefe7249 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b20ceff08ad - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b20cf02d94c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b20cf02d692 - core[786f478f706679df]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5b20ceb061b1 - <core[786f478f706679df]::result::Result<std[f92b4c606f291077]::path::PathBuf, alloc[64763625b5a07cdb]::string::String>>::unwrap
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5b20ceb061b1 - triplets[76aaa4aa24e9e9a3]::example_apps::tests::managed_demo_split_store_path_resolves_under_cache_group
[INFO] [stdout]                                at /opt/rustwide/workdir/src/example_apps.rs:2455:52
[INFO] [stdout]   22:     0x5b20ceaef8d7 - triplets[76aaa4aa24e9e9a3]::example_apps::tests::managed_demo_split_store_path_resolves_under_cache_group::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/example_apps.rs:2454:66
[INFO] [stdout]   23:     0x5b20cead48e6 - <triplets[76aaa4aa24e9e9a3]::example_apps::tests::managed_demo_split_store_path_resolves_under_cache_group::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b20cedeee4b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5b20cedeee4b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5b20cedfb83b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5b20cedfb83b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5b20cedfb83b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5b20cedfb83b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5b20cedfb83b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5b20cedfb83b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5b20cedfb83b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5b20cedf6f54 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5b20cedf6f54 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5b20cedfe442 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5b20cedfe442 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5b20cedfe442 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5b20cedfe442 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5b20cedfe442 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5b20cedfe442 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5b20cedfe442 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5b20cf013a7f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5b20cf013a7f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x71926eb99aa4 - <unknown>
[INFO] [stdout]   45:     0x71926ec26a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- example_apps::tests::run_multi_source_demo_uses_managed_split_store_path_when_not_provided stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'example_apps::tests::run_multi_source_demo_uses_managed_split_store_path_when_not_provided' (141) panicked at src/example_apps.rs:2542:9:
[INFO] [stdout] assertion failed: result.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b20cf01477a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b20cf01477a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b20cf01477a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b20cf01477a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b20cf02d0da - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b20cf02d0da - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b20cf01a022 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b20cf01a022 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b20cefefadf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b20cefefadf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b20cf00adc9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b20cedfad6c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b20cedfad6c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b20cf00b042 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b20cf00b042 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b20cefefbca - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5b20cefe7249 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b20ceff08ad - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b20cf02d94c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b20cf02d912 - core[786f478f706679df]::panicking::panic
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5b20ceb0ad48 - triplets[76aaa4aa24e9e9a3]::example_apps::tests::run_multi_source_demo_uses_managed_split_store_path_when_not_provided
[INFO] [stdout]                                at /opt/rustwide/workdir/src/example_apps.rs:2542:9
[INFO] [stdout]   21:     0x5b20ceaefba7 - triplets[76aaa4aa24e9e9a3]::example_apps::tests::run_multi_source_demo_uses_managed_split_store_path_when_not_provided::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/example_apps.rs:2529:79
[INFO] [stdout]   22:     0x5b20cead4ca6 - <triplets[76aaa4aa24e9e9a3]::example_apps::tests::run_multi_source_demo_uses_managed_split_store_path_when_not_provided::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5b20cedeee4b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b20cedeee4b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5b20cedfb83b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5b20cedfb83b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5b20cedfb83b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5b20cedfb83b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5b20cedfb83b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5b20cedfb83b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5b20cedfb83b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5b20cedf6f54 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5b20cedf6f54 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5b20cedfe442 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5b20cedfe442 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5b20cedfe442 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5b20cedfe442 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5b20cedfe442 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5b20cedfe442 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5b20cedfe442 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5b20cf013a7f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5b20cf013a7f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71926eb99aa4 - <unknown>
[INFO] [stdout]   44:     0x71926ec26a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     example_apps::tests::managed_demo_split_store_path_resolves_under_cache_group
[INFO] [stdout]     example_apps::tests::run_multi_source_demo_uses_managed_split_store_path_when_not_provided
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 302 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.30s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "c6af90ec0a312614cc2f88f2511d960a7a746d0a931f8d97470967dc53424753", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6af90ec0a312614cc2f88f2511d960a7a746d0a931f8d97470967dc53424753", kill_on_drop: false }`
[INFO] [stdout] c6af90ec0a312614cc2f88f2511d960a7a746d0a931f8d97470967dc53424753
